package com.ai.module.mj.domain.req;

import com.ai.module.chat.common.enu.MidJourneyParam;
import com.ai.module.chat.common.enu.MidJourneySpeed;
import com.ai.module.chat.common.enu.StyleType;
import com.ai.module.mj.domain.enu.ImageTaskSource;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;

import static com.ai.module.chat.common.constant.StringConstant.FAST;

@Getter
@Setter
public abstract class BaseSubmitReq {

	@ApiModelProperty(value = "提示词", required = true, example = "Cat")
	private String prompt;
	@ApiModelProperty("自定义参数")
	protected String state;

	@ApiModelProperty("回调地址, 为空时使用全局notifyHook")
	protected String notifyHook;

	/**
	 * 当前话术的 uuid
	 */
	public String uuid = UUID.randomUUID().toString();

	@ApiModelProperty("AIID")
	public String robotId;


	@ApiModelProperty(value = "速度类型 fast  slow 对应快速和慢速",example = FAST)
	private String speedType = FAST;

	private MidJourneySpeed speed = MidJourneySpeed.FAST;

	private StyleType styleType= StyleType.REALITY;

	@ApiModelProperty("自定义参数")
	private Map<MidJourneyParam,String> midJourneyParams= new HashMap<>();


	@ApiModelProperty(value = "图片 URL 数组")
	private List<String> fileUrlList;

	private ImageTaskSource taskSource =  ImageTaskSource.commonImage;

}
